/*
 * Stamina.h
 *
 *  Created on: 2014. 1. 23.
 *      Author: mega
 */

#ifndef STAMINA_H_
#define STAMINA_H_

namespace ProjectZ {
class User;
} /*ProjectZ*/

namespace ProjectZ { namespace NLogic {

class Stamina
{
public:
	Stamina(User * pUser);
	virtual ~Stamina();

	void	Initialize();
	void	Finalize();

	// 이벤트 던전 & 월드보스 열쇠 관련 메소드
	bool		IsKeyLack(int value);
	bool		DecreaseKey(int value);
	bool		InitializeEventDungeonKey();
	bool		InitializeWorldBossDungeonKey();
	int64_t		UpdateKeyRecoveryTime();
	int			GetCurrentKey();

	// 던전 체력치 관련 메소드
	int			UpdateStaminaRecoveryTime();
	bool		IsStaminaLack(int mode);
	bool		DecreaseStamina(int mode);

private:
	int			GetDungeonStamina(int mode);

private:
	User * _user;
};

} /*NLogic*/ } /* namespace ProjectZ */

#endif /* STAMINA_H_ */
